fragment生命週期
Fragment擁有自己的生命周期,但會受到Activity生命週期的約束
由於Fragment必須依附在Activity內,所以到底Activity與Fragment生命週期誰先執行,程式執行中哪個間點執行生命週期
先從主程序開始
[A]onCreate() --> [F]onAttach()--> [F]onCreate()--> [F]onCreateView()--> [F]onActivityCreate()--> [M]onStart() --> [F]onStart() --> [A]onResume() --> [F]onResume() -->開始執行Fragment程式內容
返回上一步
[F]onPause() --> [A]onPause() --> [F]onStop() --> [A]onStop() --> [F]onDestroyView() --> [F]onDestroy() --> [F]onDetach() --> [A]onDestroy() --> 程式結束
返回主畫面
[F]onPause() --> [A]onPause() --> [F]onStop() --> [A]onStop() -->返回Android系統主畫面 程式並不會Destroy(銷毀)掉,這時程式一直在背景中執行。若返回程式
[A]onStart() --> [F]onStart() --> [A]onResume() --> [F]onResume() -->繼續執行Fragment程式
旋轉螢幕
[F]onPause() --> [A]onPause() --> [F]onStop() --> [A]onStop() --> [F]onDestroyView() --> [F]onDestroy() --> [F]onDetach() --> [A]onDestroy() --> 程式結束 --> [A]onCreate() --> [F]onAttach()–> [F]onCreate()–> [F]onCreateView()–> [F]onActivityCreate()–> [M]onStart() --> [F]onStart() --> [A]onResume() --> [F]onResume() -->開始執行Fragment程式內容
menu
[F]onPause() --> [A]onPause() --> [F]onStop() --> [A]onStop() -->進入程式列表
結論